package top.hidoctor.auscultation.bean;

import java.io.Serializable;
import java.util.List;

import lombok.Data;
import lombok.NoArgsConstructor;

@NoArgsConstructor
@Data
public class PatientBean implements Serializable {

    /**
     * address : 北京,北京市,东城区
     * avatar : patient/2020/12/31/1609425293150_0.jpg
     * birthday : 1609344000000
     * createdBy : 66195784999108608
     * createdTime : 1609425311000
     * detailAddress : 摸摸
     * gender : 1
     * guardian : 啦**
     * healthCare : 124****5125
     * hospitalId : 67918961378852864
     * id : 132612616278245376
     * idCard : 模具****模具
     * isDeleted : 1
     * name : 测**
     * phone : 180****7888
     * screeningDtoList : [{"aiStatus":20,"coordinate":"10673659014283264","createdTime":1605165183000,"hospitalId":"67918961378852864","id":"114744345751453696","no":"循音科技-IP0006_20190423T084005","position":"10673657378504704","screeningAnalysis":{"createdTime":1605165183000,"id":"114744345751453696"},"screeningAssess":{"createdTime":1605165183000,"id":"114744345751453696"},"screeningDetail":{"duration":28528,"id":"114744345751453696","wavPath":"sample/2020/11/12/1605165183726_0.wav"},"status":10},{"aiStatus":20,"coordinate":"10673659014283264","createdTime":1605424384000,"hospitalId":"67918961378852864","id":"114744346292518912","no":"循音科技-IP006_20190521T010557","position":"10673657378504704","screeningAnalysis":{"createdTime":1605424384000,"id":"114744346292518912"},"screeningAssess":{"createdTime":1605424384000,"id":"114744346292518912"},"screeningDetail":{"duration":60000,"id":"114744346292518912","wavPath":"sample/2020/11/12/1605165183890_0.wav"},"status":10},{"aiStatus":10,"coordinate":"10673659014283264","createdTime":1605165184000,"hospitalId":"67918961378852864","id":"114744347060076544","no":"循音科技-IP0023_20190802T090856","position":"10673657378504704","screeningAnalysis":{"createdTime":1605165184000,"id":"114744347060076544"},"screeningAssess":{"createdTime":1605165184000,"id":"114744347060076544"},"screeningDetail":{"duration":60000,"id":"114744347060076544","wavPath":"sample/2020/11/12/1605165184088_0.wav"},"status":10}]
     * updatedBy : 66195784999108608
     * updatedTime : 1609812500000
     */

    private String address;
    private String avatar;
    private Long birthday;
    private String createdBy;
    private Long createdTime;
    private String detailAddress;
    private Integer gender;
    private String guardian;
    private String healthCare;
    private String hospitalId;
    private String id;
    private String idCard;
    private Integer isDeleted;
    private String name;
    private String phone;
    private String updatedBy;
    private Long updatedTime;
    private List<ScreeningDtoListBean> screeningDtoList;

    @NoArgsConstructor
    @Data
    public static class ScreeningDtoListBean implements Serializable {
        /**
         * aiStatus : 20
         * coordinate : 10673659014283264
         * createdTime : 1605165183000
         * hospitalId : 67918961378852864
         * id : 114744345751453696
         * no : 循音科技-IP0006_20190423T084005
         * position : 10673657378504704
         * screeningAnalysis : {"createdTime":1605165183000,"id":"114744345751453696"}
         * screeningAssess : {"createdTime":1605165183000,"id":"114744345751453696"}
         * screeningDetail : {"duration":28528,"id":"114744345751453696","wavPath":"sample/2020/11/12/1605165183726_0.wav"}
         * status : 10
         */

        private Integer aiStatus;
        private String coordinate;
        private Long createdTime;
        private String hospitalId;
        private String id;
        private String no;
        private String position;
        private ScreeningAnalysisBean screeningAnalysis;
        private ScreeningAssessBean screeningAssess;
        private ScreeningDetailBean screeningDetail;
        private Integer status;
        private int playStatus = 0;
        private int progress = 0;

        @NoArgsConstructor
        @Data
        public static class ScreeningAnalysisBean implements Serializable {
            /**
             * createdTime : 1605165183000
             * id : 114744345751453696
             */

            private Long createdTime;
            private String id;
        }

        @NoArgsConstructor
        @Data
        public static class ScreeningAssessBean implements Serializable {
            /**
             * createdTime : 1605165183000
             * id : 114744345751453696
             */

            private Long createdTime;
            private String id;
        }

        @NoArgsConstructor
        @Data
        public static class ScreeningDetailBean implements Serializable {
            /**
             * duration : 28528
             * id : 114744345751453696
             * wavPath : sample/2020/11/12/1605165183726_0.wav
             */

            private Integer duration;
            private String id;
            private String wavPath;
        }
    }
}
